Estimating Complexity of Programs in Python Language
نویسندگان
چکیده
Software metrics determine the degree of maintainability of software products, which is one of the important factors that affect the quality of any kind of software. Furthermore, software metrics provide useful feedback to the designers to impact the decisions that are made during design, coding, architecture, or specification phases. Without such feedback, many decisions are made in ad hoc manner. Fenton defines measurement as the process by which numbers or symbols are assigned to attributes of entities in the real world in such a way as to describe them according to clearly defined unambiguous rules [6]. In software engineering software metrics are the only tools to control the quality of software. Furthermore, requirement to improve the software quality is the prime objective, which promoted the research projects on software metrics technology. It is always hard to control the quality if the code is complex. Complex codes always create problems to software community. It is hard to review, test, maintain as well as manage such codes. As a consequence, those handicaps increase the maintenance cost and the cost of the product. Due to these reasons, it is strongly recommended to control the complexity of the code from the beginning of the software development process. Software metrics help to achieve this goal. In fact, there are no strict rules, which can prove that code is good or bad. Several researchers proposed different criteria for developing the good and quality software. Although they consider the different aspect of the quality one thing is common in all the criteria i.e. the code should be agile [31]. Specially, in object oriented software developments, which have an extraordinary acceptance in last two decades, it is a must. In other words, the code should be written in such a way that it should be reused and adopted. If code is not agile then it is hard to replace (add or
منابع مشابه
fastcluster: Fast Hierarchical, Agglomerative Clustering Routines for R and Python
The fastcluster package is a C++ library for hierarchical, agglomerative clustering. It provides a fast implementation of the most efficient, current algorithms when the input is a dissimilarity index. Moreover, it features memory-saving routines for hierarchical clustering of vector data. It improves both asymptotic time complexity (in most cases) and practical performance (in all cases) compa...
متن کاملInRaDoS: An internal radiation dosimetry computer program
Introduction: Internal radiation dosimetry is important from a radiation protection point of view and can help to optimize the radiation dose delivered to the workers, public, and patients. It has a rather simple protocol but needs a large amount of data. Therefore, it is difficult to do on a routine basis. The use of computer programs makes internal radiation dosimetry simpler...
متن کاملFrom Python to PLT Scheme
This paper describes an experimental embedding of Python into DrScheme. The core of the system is a compiler, which translates Python programs into equivalent MzScheme programs, and a runtime system to model the Python environment. The generated MzScheme code may be evaluated or used by DrScheme tools, giving Python programmers access to the DrScheme development suite while writing in their fav...
متن کاملStudents’ Oral Assessment Considering Various Task Dimensions and Difficulty Factors
This study investigated students’ oral performance ability accounting for various oral analytical factors including fluency, lexical and structural complexity and accuracy with each subcategory. Accordingly, 20 raters scored the oral performances produced by 200 students and a quantitative design using a MANOVA test was used to investigate students’ score differences of various levels of langua...
متن کاملComparative evaluation of performance-boosting tools for Python
The Python programming language has a number of advantages, such as simple and clear syntax, concise and readable code, and open source implementation with a lot of extensions available, that makes it a great tool for teaching programming to students. Unfortunately, Python, as a very high level interpreted programming language, is relatively slow, which becomes a nuisance when executing computa...
متن کاملUser-Centered Evolutionary Software Development Using Python and Java
The two language approach to software development has been investigated by several language designers. The primary hypothesis of such an approach being that both strong compile-time type checking and loose run-time type checking are desirable in evolutionary software development. Java is a strongly typed language which offers performance, robustness and modularity as such, while Python is a wea...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010